/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ivanbiz.service;

import com.ivanbiz.dao.DaftarKelasDAO;
import com.ivanbiz.dao.impl.DaftarKelasDAOImpl;
import com.ivanbiz.model.DaftarKelas;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Row;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;

/**
 *
 * @author IW20149X
 */
public class KelulusanUpdateActionService extends SelectorComposer<Component> {

    DaftarKelas daftarKelas;
    @Wire
    Radio lulusY;
    @Wire
    Radio lulusN;
    @Wire
    Radio hadirH1Y;
    @Wire
    Radio hadirH1N;
    @Wire
    Textbox keterangan;
    @Wire
    Radio hadirH2Y;
    @Wire
    Radio hadirH2N;
    @Wire
    Textbox keterangan2;
    @Wire
    Row rowHadirH2;
    @Wire
    Row rowKeteranganHadirH2;
    @Wire
    Datebox ujian;
    @Wire
    Window winKelulusanUpdateAction;

    @Override
    public void doAfterCompose(Component comp) throws Exception {
        super.doAfterCompose(comp);
        daftarKelas = (DaftarKelas) Executions.getCurrent().getArg().get("daftarKelas");
        if (daftarKelas.getStatus().equals("1")) {
            lulusY.setChecked(true);
        } else {
            lulusN.setChecked(true);
        }
        if (daftarKelas.getKehadiran().equals("1")) {
            hadirH1Y.setChecked(true);
        } else {
            hadirH1N.setChecked(true);
        }
        if (daftarKelas.getKelas().getTanggalKelas2() == null) {
            rowHadirH2.setVisible(false);
            rowKeteranganHadirH2.setVisible(false);
        } else {
            if (daftarKelas.getKehadiran2().equals("1")) {
                hadirH2Y.setChecked(true);
            } else {
                hadirH2N.setChecked(true);
            }
        }
    }

    @Listen("onClick=#simpan;")
    public void simpan() {
        try {
            if (lulusY.isSelected()) {
                daftarKelas.setStatus("1");
            }
            if (lulusN.isSelected()) {
                daftarKelas.setStatus("0");
            }
            if (hadirH1Y.isSelected()) {
                daftarKelas.setKehadiran("1");
            }
            if (hadirH1N.isSelected()) {
                daftarKelas.setKehadiran("0");
            }
            daftarKelas.setKeterangan(keterangan.getValue());
            if (daftarKelas.getKelas().getTanggalKelas2() != null) {
                if (hadirH2Y.isSelected()) {
                    daftarKelas.setKehadiran2("1");
                }
                if (hadirH2N.isSelected()) {
                    daftarKelas.setKehadiran2("0");
                }
                daftarKelas.setKeterangan2(keterangan2.getValue());
            }
            daftarKelas.setUjian(ujian.getValue());
            DaftarKelasDAO daftarKelasDAO = new DaftarKelasDAOImpl();
            daftarKelasDAO.saveOrUpdate(daftarKelas);
            winKelulusanUpdateAction.detach();
        } catch (Exception ex) {
            Logger.getLogger(KelulusanUpdateActionService.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}
